home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / misc_pto / ascsu221 / start.asi < prev    next >
Text File  |  1992-07-27  |  37KB  |  1,802 lines

  1. start:
  2.  
  3. rem Consecutive to wait10:
  4.  
  5. rem This version of START.COM is for the ASIC Support Disk.
  6.  
  7. rem It requires approximately 68K RAM.
  8.  
  9. rem First, initialize the Esc key.
  10.  
  11. b$=chr$(27)
  12.  
  13. rem Next, intialize the space bar.
  14.  
  15. e$=chr$(32)
  16.  
  17. rem Parameters.
  18.  
  19. a$=command$
  20. if a$=" /v" then listfile:
  21. if a$=" /V" then listfile:
  22. if a$=" /r" then readfile:
  23. if a$=" /R" then readfile:
  24. if a$=" /p" then printdoc:
  25. if a$=" /P" then printdoc:
  26. if a$=" /d" then donation:
  27. if a$=" /D" then donation:
  28. if a$=" /40" then option40:
  29. if a$=" /40 v" then listfl40:
  30. if a$=" /40 V" then listfl40:
  31. if a$=" /40 r" then rdfile40:
  32. if a$=" /40 R" then rdfile40:
  33. if a$=" /40 p" then prntfl40:
  34. if a$=" /40 P" then prntfl40:
  35. if a$=" /40 d" then donate40:
  36. if a$=" /40 D" then donate40:
  37. if a$=" /?" then help:
  38. if a$=" /40 ?" then help40:
  39.  
  40. rem If no parameters, then begin from the beginning.
  41. cls
  42. print "                                 Matt Roberts"
  43. print "                               3 Cedar St., # 8"
  44. print "                           Montpelier, Vt 05602-3006"
  45. print "                                 (802)223-2553"
  46. print
  47. print
  48. print "If you have trouble with this disk, you can call between 9AM and 9PM"
  49. print "EST, and I'll try to help."
  50. print
  51. print
  52. print "If you find the files on this disk useful, a donation of $5.00 would"
  53. print "be greatly appreciated.  Thanks."
  54. print
  55. print "Of course, if there's work by other authors on this disk, the $5.00"
  56. print "doesn't cover them.  Thanks for your understanding."
  57. print
  58. print
  59. print
  60. print
  61. print "Press any key to continue. ";
  62. gosub continue:
  63.  
  64. rem Here's the caveat.
  65.  
  66. cls
  67. print "Please Note: I am not in any way connected to ASIC or its author,"
  68. print "David A. Visti, except as a registered user and ardent fan.  Any"
  69. print "questions regarding ASIC, and registration fees for that compiler,"
  70. print "should be sent to:"
  71. print
  72. print
  73. print "David Visti, P.O. Box 2952, Raleigh, NC 27602-2952."
  74. print
  75. print
  76. print "I urge you to consider ASIC, and to register it if you use it."
  77. print "Thanks."
  78. print
  79. print
  80. print
  81. print
  82. print
  83. print "Press any key to continue. ";
  84. gosub continue:
  85. cls
  86. print "What kind of drive setup do you have?"
  87. print
  88. print
  89. print "F1- Floppy drives."
  90. print
  91. print "F2- Hard Drive."
  92. print
  93. print "F3- RAM/EMS disk."
  94. print
  95. print
  96. print "Please press the key corresponding to your choice. ";
  97.  
  98. wait9:
  99. gosub continue:
  100. if extended=0 then wait9:
  101.  
  102. if a$=";" then options:
  103.  
  104. if a$="<" then hardinst:
  105.  
  106. if a$="=" then raminst:
  107.  
  108. goto wait9:
  109.  
  110. hardinst:
  111. print ""
  112. print ""
  113. print "Using your hard drive to run START.COM will make things run faster."
  114. print "To use your hard drive, START.COM will need to access drive C:, make a"
  115. print "directory called ASUPPORT, and copy the START.COM files into the"
  116. print "ASUPPORT directory.  Is that OK? (y/n) ";
  117.  
  118. wait10:
  119.  
  120. gosub continue:
  121.  
  122. if a$="y" then
  123. commandc$=environ$(1)
  124. callcomm$=mid$(commandc$,9,79)
  125. call callcomm$," /c harddisk.bat"
  126. goto options:
  127. endif
  128.  
  129. if a$="Y" then
  130. commandc$=environ$(1)
  131. callcomm$=mid$(commandc$,9,79)
  132. call callcomm$," /c harddisk.bat"
  133. goto options:
  134. endif
  135.  
  136. if a$="n" then options:
  137. if a$="N" then options:
  138. goto wait10:
  139.  
  140. raminst:
  141. cls
  142. print "You can use your RAM or EMS disk to hold the files on this disk if:"
  143. print
  144. print " 1- You have at least 218K on the RAM disk."
  145. print
  146. print " 2- It is named drive D or drive E."
  147. print
  148. print " 3- You are currently running this file from drive A or drive C."
  149. print "NOTE: If you're running START.COM from drive C, the ASIC files need to"
  150. print "the only files in that directory."
  151. print
  152. print "Using the RAM disk will allow START.COM to access the files faster and"
  153. print "quieter."
  154. print
  155. print
  156. print "Do you want to use a RAM or EMS disk? ";
  157.  
  158. wait11:
  159. gosub continue:
  160. nocase$=ucase$(a$)
  161.  
  162. if nocase$="Y" then
  163. print ""
  164. print "One moment, accessing program...."
  165. commandc$=environ$(1)
  166. callcomm$=mid$(commandc$,9,79)
  167. call callcomm$," /c ramdisk.bat"
  168. goto options:
  169. endif
  170.  
  171. if nocase$="N" then options:
  172. goto wait11:
  173.  
  174.  
  175. options:
  176. cls
  177. print "You have the following options:"
  178. print
  179. print
  180. print "F1- View a list of the files on this disk."
  181. print
  182. print "F2- View the document file of your choice, on the screen."
  183. print
  184. print "F3- Print the document file of your choice."
  185. print
  186. print "F4- Shell to DOS."
  187. print
  188. print "F5- See a list of parameters you can use from DOS."
  189. print
  190. print "F6- Change to 40-column width (larger text; probably most useful to"
  191. print "the visually impaired)."
  192. print
  193. print "F7- Run TIPS.COM."
  194. print
  195. print "Esc- Quit and return to DOS."
  196. print
  197. print
  198. print "Please press the key corresponding to your choice. ";
  199.  
  200. wait1:
  201. gosub continue:
  202. if a$=b$ then finish:
  203. if extended=1 then readext:
  204. goto wait1:
  205.  
  206. readext:
  207. if a$=";" then listfile:
  208. if a$="<" then readfile:
  209. if a$="=" then printdoc:
  210. if a$=">" then shell:
  211. if a$="?" then help:
  212. if a$="@" then option40:
  213. if a$="A" then runtipsc:
  214. goto wait1:
  215.  
  216. listfile:
  217. cls
  218. print "Here are the files on these disks:"
  219. print
  220. print
  221. print "ANYKEY.ASI- The source code for ANYKEY.COM."
  222. print
  223. print "ANYKEY.COM- A distant ancestor of GETKEY.COM, a batch file utility."
  224. print
  225. print "ANYKEY.DOC- The documentation for ANYKEY.COM."
  226. print
  227. print
  228. print "Press any key to continue. ";
  229. gosub continue:
  230. cls
  231. print "DARKSCRN.ASI- The ASIC code for DARKSCRN.COM."
  232. print
  233. print "DARKSCRN.COM- A screen blanker used from the DOS prompt."
  234. print
  235. print "DARKSCRN.DOC- The documentation for DARKSCRN.COM."
  236. print
  237. print "EXTENDED.ASI- The ASIC code for EXTENDED.COM."
  238. print
  239. print "EXTENDED.COM- Program to see characters generated by extended keys."
  240. print
  241. print "EXTENDED.DOC- The documentation for EXTENDED.COM."
  242. print
  243. print
  244. print "Press any key to continue. ";
  245. gosub continue:
  246. cls
  247. print "GETKEY.ASI- The source code for GETKEY.COM."
  248. print
  249. print "GETKEY.COM- A batch file utility for getting keyboard response."
  250. print
  251. print "GETKEY.DOC- The documentation for GETKEY.COM."
  252. print
  253. print "GETPAUSE.ASI- The ASIC code for GETPAUSE.COM"
  254. print
  255. print "GETPAUSE.COM- A customizable PAUSE command; a batch file utility."
  256. print
  257. print "GETPAUSE.DOC- The documentation for GETPAUSE.COM."
  258. print
  259. print "LIST.COM- A neat utility by Vern Buerg; displays files on the screen."
  260. print
  261. print "LOOSWARE.DOC- Notes on the looseware concept."
  262. print
  263. print "PRINT.ASI- The ASIC code for PRINT.COM."
  264. print
  265. print
  266. print "Press any key to continue. ";
  267. gosub continue:
  268. cls
  269. print "PRINT.COM- File-printing utility."
  270. print
  271. print "PRINT.DOC- The documentation for PRINT.COM."
  272. print
  273. print "READ.ASI- The ASIC code for READ.COM."
  274. print
  275. print "READ.COM- Utility to display a text file on the screen."
  276. print
  277. print "READ.DOC- The documentation for READ.COM."
  278. print
  279. print "SHELL.ASI- The ASIC 3.01 code for SHELL.COM."
  280. print
  281. print "SHELL.COM- Program to be used from within ASIC; shells to DOS."
  282. print
  283. print "SHELL.DOC- The documentation for SHELL.COM."
  284. print
  285. print "START.ASI- The ASIC code for START.COM."
  286. print
  287. print
  288. print "Press any key to continue. ";
  289. gosub continue:
  290. cls
  291. print "START.COM- The file you're using right now."
  292. print
  293. print "TIPS.ASI- The ASIC code for TIPS.COM."
  294. print
  295. print "TIPS.COM- Automated text file with tips for helping your programming."
  296. print
  297. print "TIPS.DOC- The documentation for TIPS.COM."
  298. print
  299. print "WIDTH.ASI- The ASIC code for WIDTH.COM."
  300. print
  301. print "WIDTH.COM- Utility to change from normal text to 40-column mode."
  302. print
  303. print "WIDTH.DOC- The documentation for WIDTH.COM."
  304. print
  305. print
  306. print "Press any key to return to the Main Options Menu. ";
  307. gosub continue:
  308. goto options:
  309.  
  310. readfile:
  311. cls
  312. print "To move ahead in the file(s) you are about to view, press PgDn."
  313. print
  314. print "To move back, press PgUp."
  315. print
  316. print "To exit the document, press Esc."
  317. print
  318. print
  319. print "Press any key to see the menu of files. ";
  320. gosub continue:
  321.  
  322. readmenu:
  323. cls
  324. print "Here are some of the files you can view:"
  325. print
  326. print
  327. print "A- ANYKEY.ASI       J- EXTENDED.DOC         S- PRINT.ASI"
  328. print
  329. print "B- ANYKEY.DOC       K- NOT IN USE           T- PRINT.DOC"
  330. print
  331. print "C- NOT IN USE       L- NOT IN USE           U- READ.ASI"
  332. print
  333. print "D- NOT IN USE       M- GETKEY.ASI           V- READ.DOC"
  334. print
  335. print "E- NOT IN USE       N- GETKEY.DOC           W- NOT IN USE"
  336. print
  337. print "F- NOT IN USE       O- GETPAUSE.ASI         X- SHELL.ASI"
  338. print
  339. print "G- DARKSCRN.ASI     P- GETPAUSE.DOC         Y- SHELL.DOC"
  340. print
  341. print "H- DARKSCRN.DOC     Q- LOOSEWARE.DOC        Z- Next Menu."
  342. print
  343. print "I- EXTENDED.ASI     R- NOT IN USE           Esc- Main Options Menu."
  344. print
  345. print
  346. print "Please press the key corresponding to your choice. ";
  347.  
  348. gosub continue:
  349. if a$=b$ then options:
  350. print a$;
  351. if a$="z" then readmen2:
  352. if a$="Z" then readmen2:
  353. if a$="y" then readshed:
  354. if a$="Y" then readshed:
  355. if a$="x" then readshea:
  356. if a$="X" then readshea:
  357. if a$="w" then readmenu:
  358. if a$="W" then readmenu:
  359. if a$="v" then readread:
  360. if a$="V" then readread:
  361. if a$="u" then readreaa:
  362. if a$="U" then readreaa:
  363. if a$="t" then readprid:
  364. if a$="T" then readprid:
  365. if a$="s" then readpria:
  366. if a$="S" then readpria:
  367. if a$="r" then readmenu:
  368. if a$="R" then readmenu:
  369. if a$="q" then readloos:
  370. if a$="Q" then readloos:
  371. if a$="p" then readgepd:
  372. if a$="P" then readgepd:
  373. if a$="o" then readgepa:
  374. if a$="O" then readgepa:
  375. if a$="n" then readgekd:
  376. if a$="N" then readgekd:
  377. if a$="m" then readgeka:
  378. if a$="M" then readgeka:
  379. if a$="l" then readmenu:
  380. if a$="L" then readmenu:
  381. if a$="k" then readmenu:
  382. if a$="K" then readmenu:
  383. if a$="j" then readextd:
  384. if a$="J" then readextd:
  385. if a$="i" then readexta:
  386. if a$="I" then readexta:
  387. if a$="h" then readdard:
  388. if a$="H" then readdard:
  389. if a$="g" then readdara:
  390. if a$="G" then readdara:
  391. if a$="f" then readmenu:
  392. if a$="F" then readmenu:
  393. if a$="e" then readmenu:
  394. if a$="E" then readmenu:
  395. if a$="d" then readmenu:
  396. if a$="D" then readmenu:
  397. if a$="c" then readmenu:
  398. if a$="C" then readmenu:
  399. if a$="b" then readanyd:
  400. if a$="B" then readanyd:
  401. if a$="a" then readanya:
  402. if a$="A" then readanya:
  403. goto readmenu:
  404.  
  405. readanya:
  406. call ("list.com"," anykey.asi")
  407. goto readmenu:
  408. readanyd:
  409. call ("list.com"," anykey.doc")
  410. goto readmenu:
  411.  
  412. readdara:
  413. call ("list.com"," darkscrn.asi")
  414. goto readmenu:
  415. readdard:
  416. call ("list.com"," darkscrn.doc")
  417. goto readmenu:
  418. readexta:
  419. call ("list.com"," extended.asi")
  420. goto readmenu:
  421. readextd:
  422. call ("list.com"," extended.doc")
  423. goto readmenu:
  424.  
  425. readgeka:
  426. call ("list.com"," getkey.asi")
  427. goto readmenu:
  428. readgekd:
  429. call ("list.com"," getkey.doc")
  430. goto readmenu:
  431. readgepa:
  432. call ("list.com"," getpause.asi")
  433. goto readmenu:
  434. readgepd:
  435. call ("list.com"," getpause.doc")
  436. goto readmenu:
  437. readloos:
  438. call ("list.com"," loosware.doc")
  439. goto readmenu:
  440.  
  441. readpria:
  442. call ("list.com"," print.asi")
  443. goto readmenu:
  444. readprid:
  445. call ("list.com"," print.doc")
  446. goto readmenu:
  447. readreaa:
  448. call ("list.com"," read.asi")
  449. goto readmenu:
  450. readread:
  451. call ("list.com"," read.doc")
  452. goto readmenu:
  453.  
  454. readshea:
  455. call ("list.com"," shell.asi")
  456. goto readmenu:
  457. readshed:
  458. call ("list.com"," shell.doc")
  459. goto readmenu:
  460.  
  461. readmen2:
  462. cls
  463. print "Here are the remaining files you can view:"
  464. print
  465. print
  466. print "A- START.ASI"
  467. print
  468. print "B- TIPS.ASI"
  469. print
  470. print "C- TIPS.DOC"
  471. print
  472. print "D- NOT IN USE  "
  473. print
  474. print "E- NOT IN USE  "
  475. print
  476. print "F- WIDTH.ASI"
  477. print
  478. print "G- WIDTH.DOC"
  479. print
  480. print "H- Return to the First Menu."
  481. print
  482. print "Esc- Return to the Main Options Menu."
  483. print
  484. print
  485. print "Please press the key corresponding to your choice. ";
  486.  
  487. gosub continue:
  488. if a$=b$ then options:
  489. print a$;
  490. if a$="h" then readmenu:
  491. if a$="H" then readmenu:
  492. if a$="g" then readwidd:
  493. if a$="g" then readwidd:
  494. if a$="f" then readwida:
  495. if a$="f" then readwida:
  496. if a$="e" then readmen2:
  497. if a$="E" then readmen2:
  498. if a$="d" then readmen2:
  499. if a$="D" then readmen2:
  500. if a$="c" then readtipd:
  501. if a$="C" then readtipd:
  502. if a$="b" then readtipa:
  503. if a$="B" then readtipa:
  504. if a$="a" then readstar:
  505. if a$="A" then readstar:
  506. goto readmen2:
  507.  
  508. readstar:
  509. call ("list.com"," start.asi")
  510. goto readmen2:
  511. readtipa:
  512. call ("list.com"," tips.asi")
  513. goto readmen2:
  514. readtipd:
  515. call ("list.com"," tips.doc")
  516. goto readmen2:
  517.  
  518. readwida:
  519. call ("list.com"," width.asi")
  520. goto readmen2:
  521. readwidd:
  522. call ("list.com"," width.doc")
  523. goto readmen2:
  524.  
  525. printdoc:
  526. cls
  527. print "Please ready your printer; press any key to see the menu of files. ";
  528. gosub continue:
  529.  
  530. printmen:
  531. cls
  532. print "Here are some of the files you can print:"
  533. print
  534. print
  535. print "A- ANYKEY.ASI       J- EXTENDED.DOC         S- PRINT.ASI"
  536. print
  537. print "B- ANYKEY.DOC       K- NOT IN USE           T- PRINT.DOC"
  538. print
  539. print "C- NOT IN USE       L- NOT IN USE           U- READ.ASI"
  540. print
  541. print "D- NOT IN USE       M- GETKEY.ASI           V- READ.DOC"
  542. print
  543. print "E- NOT IN USE       N- GETKEY.DOC           W- NOT IN USE"
  544. print
  545. print "F- NOT IN USE       O- GETPAUSE.ASI         X- SHELL.ASI"
  546. print
  547. print "G- DARKSCRN.ASI     P- GETPAUSE.DOC         Y- SHELL.DOC"
  548. print
  549. print "H- DARKSCRN.DOC     Q- LOOSWARE.DOC         Z- Next Menu."
  550. print
  551. print "I- EXTENDED.ASI     R- NOT IN USE           Esc- Main Options Menu."
  552. print
  553. print
  554. print "Please press the key corresponding to your choice. ";
  555.  
  556. wait5:
  557. gosub continue:
  558. if a$=b$ then options:
  559. if a$="z" then printme2:
  560. if a$="Z" then printme2:
  561. if a$="y" then printshd:
  562. if a$="Y" then printshd:
  563. if a$="x" then printsha:
  564. if a$="X" then printsha:
  565. if a$="w" then wait5:
  566. if a$="W" then wait5:
  567. if a$="v" then printred:
  568. if a$="V" then printred:
  569. if a$="u" then printrea:
  570. if a$="U" then printrea:
  571. if a$="t" then printprd:
  572. if a$="T" then printprd:
  573. if a$="s" then printpra:
  574. if a$="S" then printpra:
  575. if a$="r" then wait5:   
  576. if a$="R" then wait5:
  577. if a$="q" then printloo:
  578. if a$="Q" then printloo:
  579. if a$="p" then printgpd:
  580. if a$="P" then printgpd: 
  581. if a$="o" then printgpa:
  582. if a$="O" then printgpa:
  583. if a$="n" then printgkd:
  584. if a$="N" then printgkd:
  585. if a$="m" then printgka:
  586. if a$="M" then printgka:
  587. if a$="l" then wait5:
  588. if a$="L" then wait5:
  589. if a$="k" then wait5:
  590. if a$="K" then wait5:
  591. if a$="j" then printexd:
  592. if a$="J" then printexd:
  593. if a$="i" then printexa:
  594. if a$="I" then printexa:
  595. if a$="h" then printdad:
  596. if a$="H" then printdad:
  597. if a$="g" then printdaa:
  598. if a$="G" then printdaa:
  599. if a$="f" then wait5:
  600. if a$="F" then wait5:
  601. if a$="e" then wait5:
  602. if a$="E" then wait5:
  603. if a$="d" then wait5:
  604. if a$="D" then wait5:
  605. if a$="c" then wait5:
  606. if a$="C" then wait5:
  607. if a$="b" then printand:
  608. if a$="B" then printand:
  609. if a$="a" then printana:
  610. if a$="A" then printana:
  611. goto wait5:
  612.  
  613. printana:
  614. file$="anykey.asi"
  615. gosub printfil:
  616. goto printmen:
  617.  
  618. printand:
  619. file$="anykey.doc"
  620. gosub printfil:
  621. goto printmen:
  622.  
  623. printdaa:
  624. file$="darkscrn.asi"
  625. gosub printfil:
  626. goto printmen:
  627.  
  628. printdad:
  629. file$="darkscrn.doc"
  630. gosub printfil:
  631. goto printmen:
  632.  
  633. printexa:
  634. file$="extended.asi"
  635. gosub printfil:
  636. goto printmen:
  637.  
  638. printexd:
  639. file$="extended.doc"
  640. gosub printfil:
  641. goto printmen:
  642.  
  643. printgka:
  644. file$="getkey.asi"
  645. gosub printfil:
  646. goto printmen:
  647.  
  648. printgkd:
  649. file$="getkey.doc"
  650. gosub printfil:
  651. goto printmen:
  652.  
  653. printgpa:
  654. file$="getpause.asi"
  655. gosub printfil:
  656. goto printmen:
  657.  
  658. printgpd:
  659. file$="getpause.doc"
  660. gosub printfil:
  661. goto printmen:
  662.  
  663. printloo:
  664. file$="loosware.doc"
  665. gosub printfil:
  666. goto printmen:
  667.  
  668. printpra:
  669. file$="print.asi"
  670. gosub printfil:
  671. goto printmen:
  672.  
  673. printprd:
  674. file$="print.doc"
  675. gosub printfil:
  676. goto printmen:
  677.  
  678. printrea:
  679. file$="read.asi"
  680. gosub printfil:
  681. goto printmen:
  682.  
  683. printred:
  684. file$="read.doc"
  685. gosub printfil:
  686. goto printmen:
  687.  
  688. printsha:
  689. file$="shell.asi"
  690. gosub printfil:
  691. goto printmen:
  692.  
  693. printshd:
  694. file$="shell.doc"
  695. gosub printfil:
  696. goto printmen:
  697.  
  698. printme2:
  699. cls
  700. print "Here are the remaining files you can print:"
  701. print
  702. print
  703. print "A- START.ASI"
  704. print
  705. print "B- TIPS.ASI"
  706. print
  707. print "C- TIPS.DOC"
  708. print
  709. print "D- NOT IN USE  "
  710. print
  711. print "E- NOT IN USE  "
  712. print
  713. print "F- WIDTH.ASI"
  714. print
  715. print "G- WIDTH.DOC"
  716. print
  717. print "H- Return to the First Menu."
  718. print
  719. print "Esc- Return to the Main Options Menu."
  720. print
  721. print
  722. print "Please press the key corresponding to your choice. ";
  723.  
  724. wait6:
  725. gosub continue:
  726. if a$=b$ then options:
  727. if a$="h" then printmen:
  728. if a$="H" then printmen:
  729. if a$="g" then printwid:
  730. if a$="G" then printwid:
  731. if a$="f" then printwia:
  732. if a$="F" then printwia:
  733. if a$="e" then wait6:
  734. if a$="E" then wait6:
  735. if a$="d" then wait6:
  736. if a$="D" then wait6:
  737. if a$="c" then printtid:
  738. if a$="C" then printtid:
  739. if a$="b" then printtia:
  740. if a$="B" then printtia:
  741. if a$="a" then printsta:
  742. if a$="A" then printsta:
  743. goto wait6:
  744.  
  745. printsta:
  746. file$="start.asi"
  747. gosub printfil:
  748. goto printme2:
  749.  
  750. printtia:
  751. file$="tips.asi"
  752. gosub printfil:
  753. goto printme2:
  754.  
  755. printtid:
  756. file$="tips.doc"
  757. gosub printfil:
  758. goto printme2:
  759.  
  760. printwia:
  761. file$="width.asi"
  762. gosub printfil:
  763. goto printme2:
  764.  
  765. printwid:
  766. file$="width.doc"
  767. gosub printfil:
  768. goto printme2:
  769.  
  770.  
  771. rem Here is the routine for printing a file.
  772.  
  773. printfil:
  774. cls
  775. f$=chr$(12)
  776. open "i",1,file$
  777.  
  778. if error=2 then
  779. print ""
  780. print ""
  781. print "File not found."
  782. print
  783. print
  784. print "Press any key to continue. ";
  785. gosub continue:
  786. close 1
  787. return
  788. endif
  789.  
  790. heading:
  791. cls
  792. print "Printing...";
  793. realfile$=ucase$(file$)
  794. color 0,7
  795. print realfile$
  796. color 7,0
  797. print
  798. print
  799. print "Press space bar to pause printing, or Esc to quit."
  800. print
  801. print
  802.  
  803. printmor:
  804. input# 1, line$ crlf
  805.  
  806. if error=96 then
  807. lprint line$
  808. goto blanklin:
  809. endif
  810.  
  811. contlprn:
  812. lprint line$
  813.  
  814. a$=inkey$
  815.  
  816. if a$=b$ then
  817. print "Printing has been terminated.  The printer may still have data in its"
  818. print "buffer.  If so, it will continue printing until the buffer is empty."
  819. print
  820. lprint f$
  821. close 1
  822. file$=""
  823. print "Press any key to continue. ";
  824. gosub continue:
  825. return
  826. endif
  827.  
  828. if a$=e$ then pause: else nopause:
  829.  
  830. pause:
  831.  
  832. print "Press any key to resume printing. ";
  833.  
  834. pausemor:
  835. a$=inkey$
  836. if a$="" then pausemor:
  837. a$=""
  838. goto heading:
  839.  
  840. nopause:
  841. if error=99 then eofp:
  842. goto printmor:
  843.  
  844. blanklin:
  845. input# 1, line$ crlf
  846. if line$="" then printmor: else contlprn:
  847.  
  848. eofp:
  849. lprint line$
  850. print "Finished."
  851. print
  852. close 1
  853. lprint f$
  854. print "Press any key to continue. ";
  855. gosub continue:
  856. return
  857.  
  858.  
  859. rem This is the end of the routine for printing text files.
  860.  
  861. shell:
  862. cls
  863. print "On which drive is your COMMAND.COM (don't type the colon)? ";
  864. gosub continue:
  865. print a$
  866. path1$=a$+":"
  867. path2$=path1$+"\"
  868. path3$=path2$+"command.com"
  869. cls
  870. print "Use the DOS command EXIT to return to START.COM."
  871. print
  872. print
  873. call path3$,""
  874. goto options:
  875.  
  876.  
  877. rem Here is the routine for calling TIPS.COM.
  878.  
  879. runtipsc:
  880. call ("tips.com","")
  881. goto options:
  882.  
  883. option40:
  884. width 40
  885. print "You have the following options:"
  886. print
  887. print
  888. print "F1- View a list of disk files."
  889. print
  890. print "F2- View a document file."
  891. print
  892. print "F3- Print a document file."
  893. print
  894. print "F4- Shell to DOS."
  895. print
  896. print "F5- See a list of parameters you can"
  897. print "use from DOS."
  898. print
  899. print "F6- Return to 80-column width."
  900. print
  901. print "F7- Run TIPS.COM."
  902. print
  903. print "Esc- Quit and return to DOS."
  904. print
  905. print
  906. print "Please press the key corresponding to"
  907. print "your choice. ";
  908.  
  909. wait2:
  910. gosub continue:
  911. if a$=b$ then finish:
  912. if extended=1 then rdext40:
  913. goto wait2:
  914.  
  915. rdext40:
  916. if a$=";" then listfl40:
  917. if a$="<" then rdfile40:
  918. if a$="=" then prntfl40:
  919. if a$=">" then shell40:
  920. if a$="?" then help40:
  921. if a$="@" then width80:
  922. if a$="A" then runtip40:
  923. goto wait2:
  924.  
  925. listfl40:
  926. width 40
  927. print "Here are the files on these disks:"
  928. print
  929. print
  930. print "ANYKEY.ASI- The source code for"
  931. print "ANYKEY.COM."
  932. print
  933. print "ANYKEY.COM- A distant ancestor of"
  934. print "GETKEY.COM, a batch file utility."
  935. print
  936. print "ANYKEY.DOC- The documentation for"
  937. print "ANYKEY.COM."
  938. print
  939. print
  940. print "Press any key to continue. ";
  941. gosub continue:
  942. cls
  943. print "DARKSCRN.ASI- The ASIC code for"
  944. print "DARKSCRN.COM."
  945. print
  946. print "DARKSCRN.COM- A screen blanker used"
  947. print "from the DOS prompt."
  948. print
  949. print
  950. print "Press any key to continue. ";
  951. gosub continue:
  952. cls
  953. print "DARKSCRN.COM- A screen blanker used"
  954. print "from the DOS prompt."
  955. print
  956. print "DARKSCRN.DOC- The documentation for"
  957. print "DARKSCRN.COM."
  958. print
  959. print "EXTENDED.ASI- The ASIC code for"
  960. print "EXTENDED.COM."
  961. print
  962. print "EXTENDED.COM- A program for seeing the"
  963. print "characters produced by extended keys."
  964. print
  965. print "EXTENDED.DOC- The documentation for"
  966. print "EXTENDED.COM."
  967. print
  968. print
  969. print "Press any key to continue. ";
  970. gosub continue:
  971. cls
  972. print "GETKEY.ASI- The source code for"
  973. print "GETKEY.COM."
  974. print
  975. print "GETKEY.COM- A batch file utility for"
  976. print "getting keyboard response."
  977. print
  978. print "GETKEY.DOC- The documentation for"
  979. print "GETKEY.COM."
  980. print
  981. print "GETPAUSE.ASI- The ASIC code for"
  982. print "GETPAUSE.COM."
  983. print
  984. print "GETPAUSE.COM- A customizable PAUSE"
  985. print "command; a batch file utility."
  986. print
  987. print "GETPAUSE.DOC- The documentation for"
  988. print "GETPAUSE.COM."
  989. print
  990. print
  991. print "Press any key to continue. ";
  992. gosub continue:
  993. cls
  994. print "LIST.COM- A neat utility by Vern Buerg"
  995. print "that displays files on the screen."
  996. print
  997. print "LOOSWARE.DOC- Notes on the looseware"
  998. print "concept."
  999. print
  1000. print "PRINT.ASI- The ASIC code for"
  1001. print "PRINT.COM."
  1002. print
  1003. print "PRINT.COM- File-printing utility."
  1004. print
  1005. print "PRINT.DOC- The documentation for"
  1006. print "PRINT.COM."
  1007. print
  1008. print "READ.ASI- The ASIC code for READ.COM."
  1009. print
  1010. print
  1011. print "Press any key to continue. ";
  1012. gosub continue:
  1013. cls
  1014. print "READ.COM- A utility to display text"
  1015. print "files on the screen."
  1016. print
  1017. print "READ.DOC- The documentation for"
  1018. print "READ.COM."
  1019. print
  1020. print "SHELL.ASI- The source code for"
  1021. print "SHELL.COM."
  1022. print
  1023. print "SHELL.COM- Program to be used from"
  1024. print "within ASIC; shells to DOS."
  1025. print
  1026. print "SHELL.DOC- The documentation for"
  1027. print "SHELL.COM."
  1028. print
  1029. print
  1030. print "Press any key to continue. ";
  1031. gosub continue:
  1032. cls
  1033. print "START.ASI- The ASIC code for"
  1034. print "START.COM."
  1035. print
  1036. print "START.COM- The file you're using right"
  1037. print "now."
  1038. print
  1039. print "TIPS.ASI- The ASIC code for TIPS.COM."
  1040. print
  1041. print "TIPS.COM- Automated text file with"
  1042. print "tips for improving your ASIC programs."
  1043. print
  1044. print "TIPS.DOC- The documentation for"
  1045. print "TIPS.COM."
  1046. print
  1047. print
  1048. print "Press any key to continue. ";
  1049. gosub continue:
  1050. cls
  1051. print "WIDTH.ASI- The ASIC code for"
  1052. print "WIDTH.COM."
  1053. print
  1054. print "WIDTH.COM- Utility to change from"
  1055. print "normal text to 40-column mode."
  1056. print
  1057. print "WIDTH.DOC- The documentation for"
  1058. print "WIDTH.COM."
  1059. print
  1060. print "Press any key for the options menu. ";
  1061. gosub continue:
  1062. goto option40:
  1063.  
  1064. rdfile40:
  1065. width 40
  1066. print "To move forward in the files you are"
  1067. print "about to view, press PgDn."
  1068. print
  1069. print "To move back, press PgUp."
  1070. print
  1071. print "To move to the side, use the direction"
  1072. print "keys."
  1073. print
  1074. print
  1075. print "Press any key to see the menu of"
  1076. print "files. ";
  1077. gosub continue:
  1078.  
  1079. rdmenu40:
  1080. cls
  1081. print "Here are some of the files you can"
  1082. print "view:"
  1083. print
  1084. print
  1085. print "A- ANYKEY.ASI         J- EXTENDED.DOC"
  1086. print
  1087. print "B- ANYKEY.DOC         K- NOT IN USE  "
  1088. print
  1089. print "C- NOT IN USE         L- NOT IN USE  "
  1090. print
  1091. print "D- NOT IN USE         M- GETKEY.ASI"
  1092. print
  1093. print "E- NOT IN USE         N- GETKEY.DOC"
  1094. print
  1095. print "F- NOT IN USE         O- GETPAUSE.ASI"
  1096. print
  1097. print "G- DARKSCRN.ASI       P- GETPAUSE.DOC"
  1098. print
  1099. print "H- DARKSCRN.DOC       Q- Next menu."
  1100. print
  1101. print "I- EXTENDED.ASI       Esc- Main Menu."
  1102. print
  1103. print
  1104. print "Please press the key corresponding to"
  1105. print "your choice. ";
  1106. gosub continue:
  1107. if a$=b$ then option40:
  1108. print a$;
  1109. if a$="q" then rdmen240:
  1110. if a$="Q" then rdmen240:
  1111. if a$="p" then rdgepd40:
  1112. if a$="P" then rdgepd40:
  1113. if a$="o" then rdgepa40:
  1114. if a$="O" then rdgepa40:
  1115. if a$="n" then rdgekd40:
  1116. if a$="N" then rdgekd40:
  1117. if a$="m" then rdgeka40:
  1118. if a$="M" then rdgeka40:
  1119. if a$="l" then rdmenu40:
  1120. if a$="L" then rdmenu40:
  1121. if a$="k" then rdmenu40:
  1122. if a$="K" then rdmenu40:
  1123. if a$="j" then rdextd40:
  1124. if a$="J" then rdextd40:
  1125. if a$="i" then rdexta40:
  1126. if a$="I" then rdexta40:
  1127. if a$="h" then rddard40:
  1128. if a$="H" then rddard40:
  1129. if a$="g" then rddara40:
  1130. if a$="G" then rddara40:
  1131. if a$="f" then rdmenu40:
  1132. if a$="F" then rdmenu40:
  1133. if a$="e" then rdmenu40:
  1134. if a$="E" then rdmenu40:
  1135. if a$="d" then rdmenu40:
  1136. if a$="D" then rdmenu40:
  1137. if a$="c" then rdmenu40:
  1138. if a$="C" then rdmenu40:
  1139. if a$="b" then rdanyd40:
  1140. if a$="B" then rdanyd40:
  1141. if a$="a" then rdanya40:
  1142. if a$="A" then rdanya40:
  1143. goto rdmenu40:
  1144.  
  1145. rdanya40:
  1146. call ("list.com"," anykey.asi")
  1147. goto rdmenu40:
  1148. rdanyd40:
  1149. call ("list.com"," anykey.doc")
  1150. goto rdmenu40:
  1151.  
  1152. rddara40:
  1153. call ("list.com"," darkscrn.asi")
  1154. goto rdmenu40:
  1155. rddard40:
  1156. call ("list.com"," darkscrn.doc")
  1157. goto rdmenu40:
  1158. rdexta40:
  1159. call ("list.com"," extended.asi")
  1160. goto rdmenu40:
  1161. rdextd40:
  1162. call ("list.com"," extended.doc")
  1163. goto rdmenu40:
  1164.  
  1165. rdgeka40:
  1166. call ("list.com"," getkey.asi")
  1167. goto rdmenu40:
  1168. rdgekd40:
  1169. call ("list.com"," getkey.doc")
  1170. goto rdmenu40:
  1171. rdgepa40:
  1172. call ("list.com"," getpause.asi")
  1173. goto rdmenu40:
  1174. rdgepd40:
  1175. call ("list.com"," getpause.doc")
  1176. goto rdmenu40:
  1177.  
  1178. rdmen240:
  1179. cls
  1180. print "Here are more files you can view:"
  1181. print
  1182. print
  1183. print "A- LOOSWARE.DOC       J- START.ASI"
  1184. print
  1185. print "B- NOT IN USE         K- TIPS.ASI"
  1186. print
  1187. print "C- PRINT.ASI          L- TIPS.DOC"
  1188. print
  1189. print "D- PRINT.DOC          M- NOT IN USE  "
  1190. print
  1191. print "E- READ.ASI           N- NOT IN USE  "
  1192. print
  1193. print "F- READ.DOC           O- WIDTH.ASI"
  1194. print
  1195. print "G- NOT IN USE         P- WIDTH.DOC"
  1196. print
  1197. print "H- SHELL.ASI          Q- First Menu."
  1198. print
  1199. print "I- SHELL.DOC          Esc- Main Menu."
  1200. print
  1201. print
  1202. print "Please press the key corresponding to"
  1203. print "your choice. ";
  1204. gosub continue:
  1205. if a$=b$ then option40:
  1206. print a$;
  1207. if a$="q" then rdmenu40:
  1208. if a$="Q" then rdmenu40:
  1209. if a$="p" then rdwidd40:
  1210. if a$="P" then rdwidd40:
  1211. if a$="o" then rdwida40:
  1212. if a$="O" then rdwida40:
  1213. if a$="n" then rdmen240:
  1214. if a$="N" then rdmen240:
  1215. if a$="m" then rdmen240:
  1216. if a$="M" then rdmen240:
  1217. if a$="l" then rdtipd40:
  1218. if a$="L" then rdtipd40:
  1219. if a$="k" then rdtipa40:
  1220. if a$="K" then rdtipa40:
  1221. if a$="j" then rdstar40:
  1222. if a$="J" then rdstar40:
  1223. if a$="i" then rdshed40:
  1224. if a$="I" then rdshed40:
  1225. if a$="h" then rdshea40:
  1226. if a$="H" then rdshea40:
  1227. if a$="g" then rdmen240:
  1228. if a$="G" then rdmen240:
  1229. if a$="f" then rdread40:
  1230. if a$="F" then rdread40:
  1231. if a$="e" then rdreaa40:
  1232. if a$="E" then rdreaa40:
  1233. if a$="d" then rdprid40:
  1234. if a$="D" then rdprid40:
  1235. if a$="c" then rdpria40:
  1236. if a$="C" then rdpria40:
  1237. if a$="b" then rdmen240:
  1238. if a$="B" then rdmen240:
  1239. if a$="a" then rdloos40:
  1240. if a$="A" then rdloos40:
  1241. goto rdmen240:
  1242.  
  1243. rdloos40:
  1244. call ("list.com"," loosware.doc")
  1245. goto rdmen240:
  1246.  
  1247. rdpria40:
  1248. call ("list.com"," print.asi")
  1249. goto rdmen240:
  1250. rdprid40:
  1251. call ("list.com"," print.doc")
  1252. goto rdmen240:
  1253. rdreaa40:
  1254. call ("list.com"," read.asi")
  1255. goto rdmen240:
  1256. rdread40:
  1257. call ("list.com"," read.doc")
  1258. goto rdmen240:
  1259.  
  1260. rdshea40:
  1261. call ("list.com"," shell.asi")
  1262. goto rdmen240:
  1263. rdshed40:
  1264. call ("list.com"," shell.doc")
  1265. goto rdmen240:
  1266. rdstar40:
  1267. call ("list.com"," start.asi")
  1268. goto rdmen240:
  1269. rdtipa40:
  1270. call ("list.com"," tips.asi")
  1271. goto rdmen240:
  1272. rdtipd40:
  1273. call ("list.com"," tips.doc")
  1274. goto rdmen240:
  1275.  
  1276. rdwida40:
  1277. call ("list.com"," width.asi")
  1278. goto rdmen240:
  1279. rdwidd40:
  1280. call ("list.com"," width.doc")
  1281. goto rdmen240:
  1282.  
  1283.  
  1284. prntfl40:
  1285. width 40
  1286. print "Please ready your printer; press any"
  1287. print "key to see the menu of files. ";
  1288. gosub continue:
  1289.  
  1290. prmenu40:
  1291. cls
  1292. print "Here are some of the files you can"
  1293. print "print:"
  1294. print
  1295. print
  1296. print "A- ANYKEY.ASI         J- EXTENDED.DOC"
  1297. print
  1298. print "B- ANYKEY.DOC         K- NOT IN USE  "
  1299. print
  1300. print "C- NOT IN USE         L- NOT IN USE  "
  1301. print
  1302. print "D- NOT IN USE         M- GETKEY.ASI"
  1303. print
  1304. print "E- NOT IN USE         N- GETKEY.DOC"
  1305. print
  1306. print "F- NOT IN USE         O- GETPAUSE.ASI"
  1307. print
  1308. print "G- DARKSCRN.ASI       P- GETPAUSE.DOC"
  1309. print
  1310. print "H- DARKSCRN.DOC       Q- Next menu."
  1311. print
  1312. print "I- EXTENDED.ASI       Esc- Main Menu."
  1313. print
  1314. print
  1315. print "Please press the key corresponding to"
  1316. print "your choice. ";
  1317.  
  1318. wait7:
  1319. gosub continue:
  1320. if a$=b$ then option40:
  1321. if a$="q" then prmen240:
  1322. if a$="Q" then prmen240:
  1323. if a$="p" then prgepd40:
  1324. if a$="P" then prgepd40:
  1325. if a$="o" then prgepa40:
  1326. if a$="O" then prgepa40:
  1327. if a$="n" then prgekd40:
  1328. if a$="N" then prgekd40:
  1329. if a$="m" then prgeka40:
  1330. if a$="M" then prgeka40:
  1331. if a$="l" then wait7:
  1332. if a$="L" then wait7:
  1333. if a$="k" then wait7:
  1334. if a$="K" then wait7:
  1335. if a$="j" then prextd40:
  1336. if a$="J" then prextd40:
  1337. if a$="i" then prexta40:
  1338. if a$="I" then prexta40:
  1339. if a$="h" then prdard40:
  1340. if a$="H" then prdard40:
  1341. if a$="g" then prdara40:
  1342. if a$="G" then prdara40:
  1343. if a$="f" then wait7:
  1344. if a$="F" then wait7:
  1345. if a$="e" then wait7:
  1346. if a$="E" then wait7:
  1347. if a$="d" then wait7:
  1348. if a$="D" then wait7:
  1349. if a$="c" then wait7:
  1350. if a$="C" then wait7:
  1351. if a$="b" then pranyd40:
  1352. if a$="B" then pranyd40:
  1353. if a$="a" then pranya40:
  1354. if a$="A" then pranya40:
  1355. goto wait7:
  1356.  
  1357. pranya40:
  1358. file$="anykey.asi"
  1359. gosub prfile40:
  1360. goto prmenu40:
  1361.  
  1362. pranyd40:
  1363. file$="anykey.doc"
  1364. gosub prfile40:
  1365. goto prmenu40:
  1366.  
  1367. prdara40:
  1368. file$="darkscrn.asi"
  1369. gosub prfile40:
  1370. goto prmenu40:
  1371.  
  1372. prdard40:
  1373. file$="darkscrn.doc"
  1374. gosub prfile40:
  1375. goto prmenu40:
  1376.  
  1377. prexta40:
  1378. file$="extended.asi"
  1379. gosub prfile40:
  1380. goto prmenu40:
  1381.  
  1382. prextd40:
  1383. file$="extended.doc"
  1384. gosub prfile40:
  1385. goto prmenu40:
  1386.  
  1387. prgeka40:
  1388. file$="getkey.asi"
  1389. gosub prfile40:
  1390. goto prmenu40:
  1391.  
  1392. prgekd40:
  1393. file$="getkey.doc"
  1394. gosub prfile40:
  1395. goto prmenu40:
  1396.  
  1397. prgepa40:
  1398. file$="getpause.asi"
  1399. gosub prfile40:
  1400. goto prmenu40:
  1401.  
  1402. prgepd40:
  1403. file$="getpause.doc"
  1404. gosub prfile40:
  1405. goto prmenu40:
  1406.  
  1407. prmen240:
  1408. cls
  1409. print "Here are more files you can print:"
  1410. print
  1411. print
  1412. print "A- LOOSWARE.DOC       J- START.ASI"
  1413. print
  1414. print "B- NOT IN USE         K- TIPS.ASI"
  1415. print
  1416. print "C- PRINT.ASI          L- TIPS.DOC"
  1417. print
  1418. print "D- PRINT.DOC          M- NOT IN USE  "
  1419. print
  1420. print "E- READ.ASI           N- NOT IN USE  "
  1421. print
  1422. print "F- READ.DOC           O- WIDTH.ASI"
  1423. print
  1424. print "G- NOT IN USE         P- WIDTH.DOC"
  1425. print
  1426. print "H- SHELL.ASI          Q- First Menu."
  1427. print
  1428. print "I- SHELL.DOC          Esc- Main Menu."
  1429. print
  1430. print
  1431. print "Please press the key corresponding to"
  1432. print "your choice. ";
  1433.  
  1434. wait8:
  1435. gosub continue:
  1436. if a$=b$ then option40:
  1437. if a$="q" then prmenu40:
  1438. if a$="Q" then prmenu40:
  1439. if a$="p" then prwidd40:
  1440. if a$="P" then prwidd40:
  1441. if a$="o" then prwida40:
  1442. if a$="O" then prwida40:
  1443. if a$="n" then wait8:
  1444. if a$="N" then wait8:
  1445. if a$="m" then wait8:
  1446. if a$="M" then wait8:
  1447. if a$="l" then prtipd40:
  1448. if a$="L" then prtipd40:
  1449. if a$="k" then prtipa40:
  1450. if a$="K" then prtipa40:
  1451. if a$="j" then prstar40:
  1452. if a$="J" then prstar40:
  1453. if a$="i" then prshed40:
  1454. if a$="I" then prshed40:
  1455. if a$="h" then prshea40:
  1456. if a$="H" then prshea40:
  1457. if a$="g" then wait8:
  1458. if a$="G" then wait8:
  1459. if a$="f" then prread40:
  1460. if a$="F" then prread40:
  1461. if a$="e" then prreaa40:
  1462. if a$="E" then prreaa40:
  1463. if a$="d" then prprid40:
  1464. if a$="D" then prprid40:
  1465. if a$="c" then prpria40:
  1466. if a$="C" then prpria40:
  1467. if a$="b" then wait8:
  1468. if a$="B" then wait8:
  1469. if a$="a" then prloos40:
  1470. if a$="A" then prloos40:
  1471. goto wait8:
  1472.  
  1473. prloos40:
  1474. file$="loosware.doc"
  1475. gosub prfile40:
  1476. goto prmen240:
  1477.  
  1478. prpria40:
  1479. file$="print.asi"
  1480. gosub prfile40:
  1481. goto prmen240:
  1482.  
  1483. prprid40:
  1484. file$="print.doc"
  1485. gosub prfile40:
  1486. goto prmen240:
  1487.  
  1488. prreaa40:
  1489. file$="read.asi"
  1490. gosub prfile40:
  1491. goto prmen240:
  1492.  
  1493. prread40:
  1494. file$="read.doc"
  1495. gosub prfile40:
  1496. goto prmen240:
  1497.  
  1498. prshea40:
  1499. file$="shell.asi"
  1500. gosub prfile40:
  1501. goto prmen240:
  1502.  
  1503. prshed40:
  1504. file$="shell.doc"
  1505. gosub prfile40:
  1506. goto prmen240:
  1507.  
  1508. prstar40:
  1509. file$="start.asi"
  1510. gosub prfile40:
  1511. goto prmen240:
  1512.  
  1513. prtipa40:
  1514. file$="tips.asi"
  1515. gosub prfile40:
  1516. goto prmen240:
  1517.  
  1518. prtipd40:
  1519. file$="tips.doc"
  1520. gosub prfile40:
  1521. goto prmen240:
  1522.  
  1523. prwida40:
  1524. file$="width.asi"
  1525. gosub prfile40:
  1526. goto prmen240:
  1527.  
  1528. prwidd40:
  1529. file$="width.doc"
  1530. gosub prfile40:
  1531. goto prmen240:
  1532.  
  1533.  
  1534. rem Here is the routine for printing a file in 40-column mode.
  1535.  
  1536. prfile40:
  1537. cls
  1538. f$=chr$(12)
  1539. open "i",1,file$
  1540.  
  1541. if error=2 then
  1542. print ""
  1543. print ""
  1544. print "File not found."
  1545. print
  1546. print
  1547. print "Press any key to continue. ";
  1548. gosub continue:
  1549. close 1
  1550. return
  1551. endif
  1552.  
  1553. headng40:
  1554. cls
  1555. print "Printing...";
  1556. realfile$=ucase$(file$)
  1557. color 0,7
  1558. print realfile$
  1559. color 7,0
  1560. print
  1561. print
  1562. print "Press space bar to pause printing, or"
  1563. print "Esc to quit."
  1564. print
  1565. print
  1566.  
  1567. prntmr40:
  1568. input# 1, line$ crlf
  1569.  
  1570. if error=96 then
  1571. lprint line$
  1572. goto blnkln40:
  1573. endif
  1574.  
  1575. contpr40:
  1576. lprint line$
  1577.  
  1578. a$=inkey$
  1579.  
  1580. if a$=b$ then
  1581. print "Printing has been terminated.  The"
  1582. print "printer may still have data in its"
  1583. print "buffer.  If so, it will continue"
  1584. print "printing until the buffer is empty."
  1585. print
  1586. lprint f$
  1587. close 1
  1588. file$=""
  1589. print "Press any key to continue. ";
  1590. gosub continue:
  1591. return
  1592. endif
  1593.  
  1594. if a$=e$ then pause40: else nopaus40:
  1595.  
  1596. pause40:
  1597.  
  1598. print "Press any key to resume printing. ";
  1599.  
  1600. pausmr40:
  1601. a$=inkey$
  1602. if a$="" then pausmr40:
  1603. a$=""
  1604. goto headng40:
  1605.  
  1606. nopaus40:
  1607. if error=99 then eofp40:
  1608. goto prntmr40:
  1609.  
  1610. blnkln40:
  1611. input# 1, line$ crlf
  1612. if line$="" then prntmr40: else contpr40:
  1613.  
  1614. eofp40:
  1615. lprint line$
  1616. print "Finished."
  1617. print
  1618. close 1
  1619. lprint f$
  1620. print "Press any key to continue. ";
  1621. gosub continue:
  1622. return
  1623.  
  1624. rem This is the end of the routine for printing a file in 40-column mode.
  1625.  
  1626.  
  1627. rem Here is the routine for shelling to DOS in 40-column mode.
  1628.  
  1629. shell40:
  1630. cls
  1631. print "On which drive is your COMMAND.COM?"
  1632. print "Don't type the colon. ";
  1633. gosub continue:
  1634. print a$
  1635. path1$=a$+":"
  1636. path2$=path1$+"\"
  1637. path3$=path2$+"command.com"
  1638. cls
  1639. print "Use the DOS command EXIT to return to"
  1640. print "START.COM."
  1641. print
  1642. call path3$,""
  1643. goto option40:
  1644. width80:
  1645. width 80
  1646. goto options:
  1647.  
  1648.  
  1649. rem Here is the routine for calling TIPS.COM from the 40-column menu.
  1650.  
  1651. runtip40:
  1652. call ("tips.com"," /40")
  1653. goto option40:
  1654.  
  1655.  
  1656. help:
  1657. cls
  1658. print "You can use paramaters with START.COM; they may save you some time."
  1659. print
  1660. print
  1661. print "Typing START /V will let you view the files on the disk."
  1662. print
  1663. print "Typing START /R will let you view text files on the screen."
  1664. print
  1665. print "Typing START /P will let you print text files."
  1666. print
  1667. print "Typing START /40 will put you in 40-column mode."
  1668. print
  1669. print "Typing START /40 V will let you view a list of disk files in 40-"
  1670. print "column mode."
  1671. print
  1672. print "Typing START /40 R will let you view text files on the screen in 40-"
  1673. print "column mode."
  1674. print
  1675. print "Typing START /40 P will let you print text files from a 40-column"
  1676. print "menu."
  1677. print
  1678. print "Typing START /? will get you this help file."
  1679. print
  1680. print
  1681. print "Press any key to continue. ";
  1682. gosub continue:
  1683. cls
  1684. print "Typing START /40 ? will get you this help file in 40-column mode."
  1685. print
  1686. print "Either upper or lower case is fine."
  1687. print
  1688. print
  1689. print "Return to ";
  1690. color 0,15
  1691. print "D";
  1692. color 7,0
  1693. print "OS ";
  1694. print "or ";
  1695. color 0,15
  1696. print "C";
  1697. color 7,0
  1698. print "ontinue with START.COM? ";
  1699.  
  1700. wait3:
  1701. gosub continue:
  1702. if a$="d" then finish:
  1703. if a$="D" then finish:
  1704. if a$="c" then options:
  1705. if a$="C" then options:
  1706. goto wait3:
  1707.  
  1708. help40:
  1709. width 40
  1710. cls
  1711. print "You can use parameters with START.COM."
  1712. print "They may save you time."
  1713. print
  1714. print
  1715. print "The parameters listed here are for 40-"
  1716. print "column mode only.  To get the"
  1717. print "parameters for 80-column mode, use the"
  1718. print "command START /?"
  1719. print
  1720. print
  1721. print "Typing START /40 V will let you view a"
  1722. print "list of files on this disk."
  1723. print
  1724. print "Typing START /40 R will let you view"
  1725. print "files on the screen."
  1726. print
  1727. print "Typing START /P will let you print"
  1728. print "text files from a 40-column menu."
  1729. print
  1730. print "Typing START /40 ? will get you this"
  1731. print "help file."
  1732. print
  1733. print
  1734. print "Press any key to continue. ";
  1735. gosub continue:
  1736. cls
  1737. print "Either upper or lower case is fine."
  1738. print
  1739. print
  1740. print "Return to ";
  1741. color 0,15
  1742. print "D";
  1743. color 7,0
  1744. print "OS or ";
  1745. color 0,15
  1746. print "C";
  1747. color 7,0
  1748. print "ontinue with"
  1749. print "START.COM? ";
  1750.  
  1751. wait4:
  1752. gosub continue:
  1753. if a$="d" then finish:
  1754. if a$="D" then finish:
  1755. if a$="c" then option40:
  1756. if a$="C" then option40:
  1757. goto wait4:
  1758.  
  1759. continue:
  1760. wait:
  1761. a$=inkey$
  1762. if a$="" then wait:
  1763. return
  1764.  
  1765. rem Here is the routine for giving the address for donations.
  1766.  
  1767. donation:
  1768. cls
  1769. print "You can send donations to:"
  1770. print
  1771. print
  1772. print "Matt Roberts"
  1773. print "3 Cedar St., # 8"
  1774. print "Montpelier, Vt 05602-3006"
  1775. print
  1776. print
  1777. print "Thanks."
  1778. print
  1779. print
  1780. end
  1781.  
  1782. rem Here is the donations routine for 40-column mode.
  1783.  
  1784. donate40:
  1785. width 40
  1786. print "You can send donations to:"
  1787. print
  1788. print
  1789. print "Matt Roberts"
  1790. print "3 Cedar St., # 8"
  1791. print "Montpelier, Vt 05602-3006"
  1792. print
  1793. print
  1794. print "Thanks."
  1795. print
  1796. print
  1797. end
  1798.  
  1799. finish:
  1800. cls
  1801. end
  1802.